INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
ADD_LIBRARY( Two TwoSrc.c )
TARGET_LINK_LIBRARIES( Two Three )

# Setup a target to cause failure if Two does not depend on it or if
# Two actually links to it.  This will test that a utility dependency
# on a library target works properly.
ADD_CUSTOM_COMMAND(
  OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/two-test.h
  COMMAND ${CMAKE_COMMAND} -E copy_if_different
  ${CMAKE_CURRENT_SOURCE_DIR}/two-test.h.in
  ${CMAKE_CURRENT_BINARY_DIR}/two-test.h
  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/two-test.h.in
  )
ADD_LIBRARY( TwoCustom TwoCustomSrc.c ${CMAKE_CURRENT_BINARY_DIR}/two-test.h)
SET_TARGET_PROPERTIES(TwoCustom PROPERTIES EXCLUDE_FROM_ALL 1)
TARGET_LINK_LIBRARIES(TwoCustom Three)

# Add a utility dependency to make sure it works without linking.
ADD_DEPENDENCIES(Two TwoCustom)
